package com.ruoyi.system.service;

import com.ruoyi.system.domain.PoPublicOpinion;
import com.ruoyi.system.domain.vo.NameListValue;
import com.ruoyi.system.domain.vo.NameValue;

import java.util.List;

public interface IStatisticAnalysisService {

    /**
     * 今日预警总数
     * @param tenantCode
     * @return
     */
    Integer getTodayAlertCount(String tenantCode);

    /**
     * 今日负面总数
     * @return
     * @param tenantCode
     */
    Integer getTodayNegativeCount(String tenantCode);

    /**
     * 今日舆情总数
     * @param tenantCode
     * @return
     */
    Integer getTodayPublicOpinionCount(String tenantCode);

    /**
     * 近七日舆情总数
     * @param tenantCode
     * @return
     */
    Integer getPastSevenDaysPublicOpinionCount(String tenantCode);

    /**
     * 近七日负面信息
     * @return
     */
    List<NameListValue> negativeInformationHeatMap();


    /**
     * 获取正负面信息趋势图
     * @return
     */
    List<NameListValue> getSentimentByPublishTimeByTenantCode();

    /**
     * 舆情数量按省分组
     * @return
     */
    List<NameValue> getPublicOpinionCountGroupByProvinceOfTenantCode();

    /**
     * 获取热词
     * @return
     */
    List<NameValue> getHotWords();

    /**
     * 获取时间段内媒体活跃度
     * @return
     */
    List<NameValue> getMediaActivity();

    /**
     * 获取时间段内意见领袖
     * @return
     */
    List<NameValue> getOpinionLeaders();

    /**
     * 获取当前企业内的负面信息
     * @return
     * @param count
     */
    List<PoPublicOpinion> getNegativeListOfTenantCode(int count);

    /**
     * 获取当前企业内的热门信息
     * @return
     * @param count
     */
    List<PoPublicOpinion> getHotListOfTenantCode(int count);
}
